#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#define maxLength 100
void OutputMatrix(int **m,int n)
{
	int i,j;
	int count=0;
	for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    {
    	if(count%n==0)
    	printf("\n");
    	printf("%4d",m[i][j]);
    	count++;
	}
	
}

/*void rotateMatrix(int m[maxLength][maxLength])
{
	int temp[][]=new int[10][10];
	for(int i=0;i<n;i++)
	for(int j=0;j<n;j++)
	{
		temp[n-1-j][n-1-i]=m[i][n-1-j];
	}
		OutputMatrix(temp[n][n],n);
}*/
int main()
{
	int **a;
	int **temp;
	int m;
	int total;
	printf("Please input row and column of matrix:");
	scanf("%d",&m);
	//int a[4][4]=new int[4][4];
	//int temp[4][4]=new int[4][4];
    a=(int **)malloc(sizeof(int *)*m);
	for(int i=0;i<m;i++)
	{
		a[i]=(int *)malloc(sizeof(int)*m);
	}
	
	temp=(int **)malloc(sizeof(int *)*m);
	for(int i=0;i<m;i++)
	{
		temp[i]=(int *)malloc(sizeof(int)*m);
	}
	//a=(int **)malloc(sizeof(int *)*m);
	/*for(int i=0;i<m;i++)
	{
		a[i]=(int *)malloc(sizeof(int)*m);
	}*/
	total=m*m;
	printf("Please input %d integer:",total);
	for(int i=0;i<m;i++)
	for(int j=0;j<m;j++)
	{
		scanf("%d",&a[i][j]);
	}
	//a=rotateMatrix(a[m][m],m);
	//outputMatrix(a[m][m],m);
	//rotateMatrix(a[m][m],m);
	//int temp[][]=new int[10][10];
	for(int i=0;i<m;i++)
	for(int j=0;j<m;j++)
	{
		temp[m-1-j][m-1-i]=a[i][m-1-j];
	}
		OutputMatrix(temp,m);
	
 } 
